Skip to content

Move away from Git LFS uploading the XCFramework binary as release asset#132

Merged
sideround merged 4 commits intomainfrom
feat/update-swift-release
Jan 16, 2026
Merged

Move away from Git LFS uploading the XCFramework binary as release asset#132
sideround merged 4 commits intomainfrom
feat/update-swift-release

Conversation

@sideround
Copy link
Copy Markdown
Contributor

@sideround sideround commented Jan 16, 2026

Description

We are moving away from Git LFS since can add extra overhead for developers. Xcode uses its own git which does not always work well with a locally installed Git LFS.

Instead we are uploading the binary framework as a release asset and referencing its URL directly from Package.swift.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request transitions from Git LFS to hosting XCFramework binaries as GitHub release assets to improve compatibility with Xcode's built-in git and Swift Package Manager. The change updates the release workflow to upload the binary framework as a release asset and dynamically generates Package.swift to reference the remote binary URL.

Changes:

  • Added archive_swift.sh script to dynamically generate Package.swift with binary target URL and checksum
  • Updated release workflow to compress and upload XCFramework as a release asset
  • Removed Git LFS initialization and tracking from the release workflow

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
archive_swift.sh New script that generates Package.swift with dynamic binary target URL and checksum for remote XCFramework hosting
.github/workflows/release.yml Updated to compress XCFramework, create draft release with binary asset, compute checksum, and use dynamically generated Package.swift instead of committing the binary with Git LFS

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread archive_swift.sh
Comment thread .github/workflows/release.yml
Comment thread archive_swift.sh Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread archive_swift.sh Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

Comments suppressed due to low confidence (1)

.github/workflows/release.yml:249

  • This step publishes the draft release created earlier (line 82-93) by default, which could expose the release before the binary asset is properly verified and the Package.swift is confirmed to work. The draft release at line 82-93 should remain a draft, and this final release step should include the binary asset file explicitly to ensure it's attached to the published release.
      - name: Create Release in swift repo
        uses: softprops/action-gh-release@v2
        with:
          repository: worldcoin/walletkit-swift
          token: ${{ secrets.WALLETKIT_BOT_TOKEN }}
          name: ${{ needs.pre-release-checks.outputs.new_version }}
          tag_name: ${{ needs.pre-release-checks.outputs.new_version }}
          body: |
            ## Version ${{ needs.pre-release-checks.outputs.new_version }}
            For full release notes, see the [main repo release](https://github.com/worldcoin/walletkit/releases/tag/${{ needs.pre-release-checks.outputs.new_version }}).
          make_latest: true

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml Outdated
Comment thread .github/workflows/release.yml
Comment thread archive_swift.sh
@sideround sideround merged commit 8d6286a into main Jan 16, 2026
13 of 14 checks passed
@sideround sideround deleted the feat/update-swift-release branch January 16, 2026 22:47
This was referenced Jan 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants